﻿using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;

namespace VerumIT.Mvc.Models
{
    public class ContatoModel : BaseModel
    {
        public ContatoModel()
        {
            Assuntos = ListarAssuntos();
        }

        [Required(ErrorMessage = "O nome é obrigatório")]
        [Display(Name = "Nome")]
        public string Nome { get; set; }

        [Required(ErrorMessage = "O e-mail é obrigatório")]
        [Display(Name = "E-mail")]
        [RegularExpression(@"^([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*[\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+@((((([a-zA-Z0-9]{1}[a-zA-Z0-9\-]{0,62}[a-zA-Z0-9]{1})|[a-zA-Z])\.)+[a-zA-Z]{2,6})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)$", ErrorMessage = "Email inválido")]
        public string Email { get; set; }

        [Display(Name = "Telefone")]
        public string Telefone { get; set; }

        [Required(ErrorMessage = "O assunto é obrigatório")]
        [Display(Name = "Assunto")]
        public string Assunto { get; set; }

        [Required(ErrorMessage = "A mensagem é obrigatória")]
        [Display(Name = "Sua Mensagem")]
        public string Mensagem { get; set; }

        public bool PopUp { get; set; }

        public List<SelectListItem> Assuntos { get; set; }

        private List<SelectListItem> ListarAssuntos()
        {
            var itemList = new List<SelectListItem>
                               {
                                   new SelectListItem {Value = "1", Text = "Dúvida"},
                                   new SelectListItem {Value = "2", Text = "Sugestão"},
                                   new SelectListItem {Value = "3", Text = "Orçamento"},
                                   new SelectListItem {Value = "4", Text = "Suporte"},
                                   new SelectListItem {Value = "5", Text = "Desenvolvimento de Sistemas"},
                                   new SelectListItem {Value = "6", Text = "Web Site"},
                                   new SelectListItem {Value = "7", Text = "Outro"}
                               };
            return itemList;
        }
    }
}